@@ -953,14 +953,14 @@ def member_activity_register_list(request, administrator):  | 
            ||
| 953 | 953 | 
                @transaction.atomic  | 
            
| 954 | 954 | 
                def member_activity_contribute_audit(request, administrator):  | 
            
| 955 | 955 | 
                     contribution_id = request.POST.get('contribution_id', '')
               | 
            
| 956 | 
                - audit = get_query_value(request, 'audit', val_cast_type='int')  | 
            |
| 956 | 
                + audit_status = get_query_value(request, 'audit_status', val_cast_type='int')  | 
            |
| 957 | 957 | 
                 | 
            
| 958 | 958 | 
                try:  | 
            
| 959 | 959 | 
                contribution = MemberActivityContributionInfo.objects.select_for_update().get(contribution_id=contribution_id, status=True)  | 
            
| 960 | 960 | 
                except MemberActivityContributionInfo.DoesNotExist:  | 
            
| 961 | 961 | 
                return response(MemberActivityContributionStatusCode.ACTIVITY_CONTRIBUTION_NOT_FOUND)  | 
            
| 962 | 962 | 
                 | 
            
| 963 | 
                - contribution.is_audit_pass = audit  | 
            |
| 963 | 
                + contribution.audit_status = audit_status  | 
            |
| 964 | 964 | 
                contribution.save()  | 
            
| 965 | 965 | 
                 | 
            
| 966 | 966 | 
                return response(200, 'Member Activity Contribution Audit Success', u'会员活动投稿审批成功')  | 
            
                @@ -1027,6 +1027,7 @@ def member_activity_contribute_welfare_detail(request, administrator):  | 
            ||
| 1027 | 1027 | 
                 | 
            
| 1028 | 1028 | 
                @check_admin  | 
            
| 1029 | 1029 | 
                def member_activity_contribute_welfare_update(request, administrator):  | 
            
| 1030 | 
                +    activity_id = request.POST.get('activity_id', '')
               | 
            |
| 1030 | 1031 | 
                     welfare_id = request.POST.get('welfare_id', '')
               | 
            
| 1031 | 1032 | 
                     welfare_type = int(request.POST.get('welfare_type', 0))
               | 
            
| 1032 | 1033 | 
                     welfare_title = request.POST.get('welfare_title', '')
               | 
            
                @@ -1039,6 +1040,7 @@ def member_activity_contribute_welfare_update(request, administrator):  | 
            ||
| 1039 | 1040 | 
                except MemberActivityContributionWelfareInfo.DoesNotExist:  | 
            
| 1040 | 1041 | 
                return response()  | 
            
| 1041 | 1042 | 
                 | 
            
| 1043 | 
                + welfare.activity_id = activity_id  | 
            |
| 1042 | 1044 | 
                welfare.welfare_type = welfare_type  | 
            
| 1043 | 1045 | 
                welfare.welfare_title = welfare_title  | 
            
| 1044 | 1046 | 
                welfare.welfare_detail = welfare_detail  | 
            
                @@ -1051,6 +1053,7 @@ def member_activity_contribute_welfare_update(request, administrator):  | 
            ||
| 1051 | 1053 | 
                 | 
            
| 1052 | 1054 | 
                @check_admin  | 
            
| 1053 | 1055 | 
                def member_activity_contribute_welfare_create(request, administrator):  | 
            
| 1056 | 
                +    activity_id = request.POST.get('activity_id', '')
               | 
            |
| 1054 | 1057 | 
                     welfare_type = int(request.POST.get('welfare_type', 0))
               | 
            
| 1055 | 1058 | 
                     welfare_title = request.POST.get('welfare_title', '')
               | 
            
| 1056 | 1059 | 
                     welfare_detail = request.POST.get('welfare_detail', '')
               | 
            
                @@ -1059,6 +1062,7 @@ def member_activity_contribute_welfare_create(request, administrator):  | 
            ||
| 1059 | 1062 | 
                 | 
            
| 1060 | 1063 | 
                MemberActivityContributionWelfareInfo.objects.create(  | 
            
| 1061 | 1064 | 
                brand_id=administrator.brand_id,  | 
            
| 1065 | 
                + activity_id=activity_id,  | 
            |
| 1062 | 1066 | 
                welfare_type=welfare_type,  | 
            
| 1063 | 1067 | 
                welfare_title=welfare_title,  | 
            
| 1064 | 1068 | 
                welfare_detail=welfare_detail,  | 
            
                @@ -554,7 +554,7 @@ def activity_contribute_list(request):  | 
            ||
| 554 | 554 | 
                     page = request.POST.get('page', 1)
               | 
            
| 555 | 555 | 
                     num = request.POST.get('num', 20)
               | 
            
| 556 | 556 | 
                 | 
            
| 557 | 
                - contributions = MemberActivityContributionInfo.objects.filter(content_type=content_type, is_audit_pass=True, status=True)  | 
            |
| 557 | 
                + contributions = MemberActivityContributionInfo.objects.filter(content_type=content_type, audit_status=MemberActivityContributionInfo.AUDIT_PASS, status=True)  | 
            |
| 558 | 558 | 
                if user_id:  | 
            
| 559 | 559 | 
                contributions = contributions.filter(user_id=user_id)  | 
            
| 560 | 560 | 
                if activity_id:  | 
            
                @@ -99,13 +99,13 @@ class MemberActivityGroupShareInfoAdmin(admin.ModelAdmin):  | 
            ||
| 99 | 99 | 
                 | 
            
| 100 | 100 | 
                 | 
            
| 101 | 101 | 
                class MemberActivityContributionInfoAdmin(admin.ModelAdmin):  | 
            
| 102 | 
                -    list_display = ('contribution_id', 'activity_id', 'content_type', 'title', 'content', 'images', 'video_url', 'is_audit_pass', 'is_selected', 'status', 'created_at', 'updated_at')
               | 
            |
| 103 | 
                -    list_filter = ('activity_id', 'content_type', 'is_audit_pass', 'is_selected', 'status')
               | 
            |
| 102 | 
                +    list_display = ('contribution_id', 'activity_id', 'content_type', 'title', 'content', 'images', 'video_url', 'audit_status', 'is_selected', 'status', 'created_at', 'updated_at')
               | 
            |
| 103 | 
                +    list_filter = ('activity_id', 'content_type', 'audit_status', 'is_selected', 'status')
               | 
            |
| 104 | 104 | 
                 | 
            
| 105 | 105 | 
                 | 
            
| 106 | 106 | 
                class MemberActivityContributionWelfareInfoAdmin(admin.ModelAdmin):  | 
            
| 107 | 
                -    list_display = ('welfare_id', 'welfare_type', 'welfare_title', 'welfare_detail', 'welfare_value', 'welfare_image', 'status', 'created_at', 'updated_at')
               | 
            |
| 108 | 
                -    list_filter = ('welfare_type', 'status')
               | 
            |
| 107 | 
                +    list_display = ('activity_id', 'welfare_id', 'welfare_type', 'welfare_title', 'welfare_detail', 'welfare_value', 'welfare_image', 'status', 'created_at', 'updated_at')
               | 
            |
| 108 | 
                +    list_filter = ('activity_id', 'welfare_type', 'status')
               | 
            |
| 109 | 109 | 
                 | 
            
| 110 | 110 | 
                 | 
            
| 111 | 111 | 
                admin.site.register(GoodsInfo, GoodsInfoAdmin)  | 
            
                @@ -0,0 +1,19 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +# Generated by Django 3.2.16 on 2022-10-25 02:52  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.db import migrations, models  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +class Migration(migrations.Migration):  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                + dependencies = [  | 
            |
| 10 | 
                +        ('member', '0039_memberactivitycontributionwelfareinfo_is_upload_qiniu'),
               | 
            |
| 11 | 
                + ]  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                + operations = [  | 
            |
| 14 | 
                + migrations.AddField(  | 
            |
| 15 | 
                + model_name='memberactivitycontributionwelfareinfo',  | 
            |
| 16 | 
                + name='activity_id',  | 
            |
| 17 | 
                + field=models.CharField(blank=True, db_index=True, help_text='活动唯一标识', max_length=32, null=True, verbose_name='activity_id'),  | 
            |
| 18 | 
                + ),  | 
            |
| 19 | 
                + ]  | 
            
                @@ -0,0 +1,23 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +# Generated by Django 3.2.16 on 2022-10-25 04:36  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.db import migrations, models  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +class Migration(migrations.Migration):  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                + dependencies = [  | 
            |
| 10 | 
                +        ('member', '0040_memberactivitycontributionwelfareinfo_activity_id'),
               | 
            |
| 11 | 
                + ]  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                + operations = [  | 
            |
| 14 | 
                + migrations.RemoveField(  | 
            |
| 15 | 
                + model_name='memberactivitycontributioninfo',  | 
            |
| 16 | 
                + name='is_audit_pass',  | 
            |
| 17 | 
                + ),  | 
            |
| 18 | 
                + migrations.AddField(  | 
            |
| 19 | 
                + model_name='memberactivitycontributioninfo',  | 
            |
| 20 | 
                + name='audit_status',  | 
            |
| 21 | 
                + field=models.IntegerField(choices=[(0, '未审批'), (1, '已通过'), (2, '未通过')], db_index=True, default=0, help_text='审批状态', verbose_name='audit_status'),  | 
            |
| 22 | 
                + ),  | 
            |
| 23 | 
                + ]  | 
            
                @@ -671,6 +671,13 @@ class MemberActivityContributionInfo(BaseModelMixin):  | 
            ||
| 671 | 671 | 
                # (2, u'入围'),  | 
            
| 672 | 672 | 
                )  | 
            
| 673 | 673 | 
                 | 
            
| 674 | 
                + AUDIT_PASS = 1  | 
            |
| 675 | 
                + AUDIT_STATUS = (  | 
            |
| 676 | 
                + (0, u'未审批'),  | 
            |
| 677 | 
                + (1, u'已通过'),  | 
            |
| 678 | 
                + (2, u'未通过'),  | 
            |
| 679 | 
                + )  | 
            |
| 680 | 
                +  | 
            |
| 674 | 681 | 
                brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True)  | 
            
| 675 | 682 | 
                brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称')  | 
            
| 676 | 683 | 
                 | 
            
                @@ -694,7 +701,7 @@ class MemberActivityContributionInfo(BaseModelMixin):  | 
            ||
| 694 | 701 | 
                images = JSONField(_(u'images'), default=[], help_text=u'图片列表')  | 
            
| 695 | 702 | 
                video_url = models.CharField(_(u'video_url'), max_length=255, blank=True, null=True, help_text=u'视频链接')  | 
            
| 696 | 703 | 
                 | 
            
| 697 | 
                - is_audit_pass = models.BooleanField(_(u'is_audit_pass'), default=False, help_text=u'是否审核通过')  | 
            |
| 704 | 
                + audit_status = models.IntegerField(_(u'audit_status'), choices=AUDIT_STATUS, default=0, help_text=u'审批状态', db_index=True)  | 
            |
| 698 | 705 | 
                is_selected = models.BooleanField(_(u'is_selected'), default=False, help_text=u'是否入围')  | 
            
| 699 | 706 | 
                 | 
            
| 700 | 707 | 
                class Meta:  | 
            
                @@ -716,6 +723,9 @@ class MemberActivityContributionInfo(BaseModelMixin):  | 
            ||
| 716 | 723 | 
                'content': self.content,  | 
            
| 717 | 724 | 
                'images': self.images,  | 
            
| 718 | 725 | 
                'video_url': self.video_url or '',  | 
            
| 726 | 
                + 'audit_status': self.audit_status,  | 
            |
| 727 | 
                + 'audit_status_str': dict(MemberActivityContributionInfo.AUDIT_STATUS).get(self.audit_status),  | 
            |
| 728 | 
                + 'is_selected': self.is_selected,  | 
            |
| 719 | 729 | 
                'created_at': tc.local_string(utc_dt=self.created_at),  | 
            
| 720 | 730 | 
                }  | 
            
| 721 | 731 | 
                 | 
            
                @@ -730,6 +740,8 @@ class MemberActivityContributionWelfareInfo(BaseModelMixin):  | 
            ||
| 730 | 740 | 
                brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True)  | 
            
| 731 | 741 | 
                brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称')  | 
            
| 732 | 742 | 
                 | 
            
| 743 | 
                + activity_id = models.CharField(_(u'activity_id'), max_length=32, blank=True, null=True, help_text=u'活动唯一标识', db_index=True)  | 
            |
| 744 | 
                +  | 
            |
| 733 | 745 | 
                welfare_id = ShortUUIDField(_(u'welfare_id'), max_length=32, blank=True, null=True, help_text=u'福利唯一标识', db_index=True, unique=True)  | 
            
| 734 | 746 | 
                 | 
            
| 735 | 747 | 
                welfare_type = models.IntegerField(_(u'welfare_type'), choices=WELFARE_TYPE, default=0, help_text=u'福利类型', db_index=True)  | 
            
                @@ -759,6 +771,7 @@ class MemberActivityContributionWelfareInfo(BaseModelMixin):  | 
            ||
| 759 | 771 | 
                @property  | 
            
| 760 | 772 | 
                def data(self):  | 
            
| 761 | 773 | 
                         return {
               | 
            
| 774 | 
                + 'activity_id': self.activity_id,  | 
            |
| 762 | 775 | 
                'welfare_id': self.welfare_id,  | 
            
| 763 | 776 | 
                'welfare_type': self.welfare_type,  | 
            
| 764 | 777 | 
                'welfare_type_str': dict(MemberActivityContributionWelfareInfo.WELFARE_TYPE).get(self.welfare_type),  |